﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sistema_Totem.Clases;
using System.Web.UI.WebControls;
using System.Web.UI;
using Sistema_Totem.Clases.Fabricas;

namespace Sistema_Totem.Logica.Comandos.ComandoPlantilla
{
    /// <summary>
    /// Se introducen las secciones y cantidad de elementos por seccion a la plantilla
    /// </summary>
    public class ComandoAgregarPlantillaPasoDos : Comando<Entidad>
    {
        private Entidad _plantilla;
        private Panel _Panel3;
        private Panel _Panel4;

        public ComandoAgregarPlantillaPasoDos(Panel Panel3, Panel Panel4, Entidad plantilla) 
        {
            _Panel3 = Panel3;
            _Panel4 = Panel4;
            _plantilla = plantilla;
        }

        public override Entidad Ejecutar()
        {
            int j = 0;
            Seccion _seccion;
            (_plantilla as Plantilla).ListaSeccion = new List<Seccion>();
            for (int i = 0; i < _Panel3.Controls.Count; i++)
            {
                _seccion = new Seccion();
                Object ctr = new Control();
                ctr = _Panel3.Controls[i];
                if (ctr is TextBox)
                {
                    TextBox texto = ctr as TextBox;
                    _seccion.Nombre = texto.Text.ToString();                    
                    (_plantilla as Plantilla).ListaSeccion.Add(_seccion);
                }
            }
            for (int l = 0; l < _Panel4.Controls.Count; l++)
            {
                Object ctr = new Control();
                ctr = _Panel4.Controls[l];
                if (ctr is DropDownList)
                {
                    DropDownList CantidadElementos = ctr as DropDownList;
                    ElementoControl _elemento;
                    for (int k = 0; k < (CantidadElementos.SelectedIndex + 1); k++)
                    {
                        _elemento = new ElementoControl();
                        (_plantilla as Plantilla).ListaSeccion[j].ListaControl.Add(_elemento);
                    }
                    j++;
                }
            }

            return _plantilla;
        }   
    }
}